<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>52 async和await封装ajax</title>
</head>

<body>
    <script>
        // function sendAJAX(url) {
        //     return new Promise((resolve, reject) => {
        //         //1. 创建对象
        //         const x = new XMLHttpRequest();

        //         // 2. 始化化
        //         x.open('GET', url);

        //         // 3. 发送
        //         x.send();

        //         // 事件绑定
        //         x.onreadystatechange = function () {
        //             if (x.readyState === 4) {
        //                 if (x.status >= 200 && x.status < 300) {
        //                     resolve(x.response);
        //                 }
        //             } else {
        //                 reject(x.status);
        //             }
        //         }
        //     });
        // }

        // async 和 await 结合发送ajax请求
        function sendAjax(url) {
            return new Promise((resolve, reject) => {
                // 1、创建对象
                const x = new XMLHttpRequest();
                // 2、初始化
                x.open("GET", url);
                // 3、发送
                x.send();
                // 4、事件绑定
                x.onreadystatechange = function () {
                    if (x.readyState == 4) {
                        if (x.status >= 200 && x.status <= 299) {
                            // 成功
                            resolve(x.response);
                        } else {
                            // 失败
                            reject(x.status);
                        }
                    }
                }
            });
        }
        // const result = sendAjax('https://api.apiopen.top/api/getHaoKanVideo?page=0&size=2');
        // // console.log(result);
        // result.then(value => {
        //     console.log(value);
        // }, reason => {
        //     console.warn(reason);
        // })

        async function main() {
            let result = await sendAjax('https://api.apiopen.top/api/getHaoKanVideo?page=0&size=2');
            console.log(result);
        }

        main();
    </script>
</body>

</html>